home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / progs / editor / frexxed / fpl / pastexmode.fpl.readme~ < prev    next >
Text File  |  1995-08-07  |  7KB  |  167 lines

  1. #############################################################################
  2. File:        PasTeXMode.FPL
  3. Author:        Jesper Skov
  4. Email:        jskov@iesd.auc.dk
  5. Short:        Provides interface to the PasTeX LaTeX compiler.
  6. Version:    1.6
  7. Date:        15.06.95
  8. Local settings:
  9. Global settings:PasTeX_(compile_dir, port_name, style, auto_save,log_restart)
  10. Keysequence:    "C-c C-c" and "C-c '" (C = ctrl)
  11. Type:        Major mode
  12. Prereq:        FMC.FPL, LaTeXMode.FPL
  13. Copyright:    © 1994-1995, Jesper Skov
  14. #############################################################################
  15.  
  16. FUNCTION
  17.   With this file you have a cute little PasTeX interface for FrexxEd (Fred).
  18.   Changes you _have_ to make in your PasTeX system: *NONE*
  19.   Changes I suggest you make in your PasTeX system (by free will! No force :)
  20.     Collect all the files PasTeX usually use when compiling in a directory
  21.     called "PrimeTeX:". (If your Amiga has enough RAM you might want to copy
  22.     this directory to RAM each time you start a TeX'ing session. This will
  23.     give you a nice performance boost ;)
  24.  
  25.   If you want Fred to locate compile errors by itself you need to insert the
  26.   lines below in the file TeXedit.rexx (found in the Rexx: or TeX:Rexx/ dir).
  27.  
  28.   --- 8< ---------- 8< ---------- 8< ---------- 8< ---------- 8< ----------
  29.   /* FrexxEd */
  30.   IF SHOW('P', 'FREXXED.1') THEN DO
  31.   ADDRESS "FREXXED.1"
  32.   logname = logfile
  33.   IF 0~=LASTPOS("/",logname) THEN
  34.     logname = RIGHT(logname,LENGTH(logname)-LASTPOS("/",logname))
  35.   IF 0~=LASTPOS(":",logname) THEN
  36.     logname = RIGHT(logname,LENGTH(logname)-LASTPOS(":",logname))
  37.   'LaTeXFail ("'logname'");'
  38.   EXIT 0
  39.   END
  40.   --- 8< ---------- 8< ---------- 8< ---------- 8< ---------- 8< ----------
  41.  
  42.   (Insert it below the comment "Here starts each editor specific parts"!)
  43.   
  44.   Um, that's it. Now you just have to press "C-c C-c" in a PasTeX buffer
  45.   (pastex_mode checked). If the compilation is successful you should see
  46.   ShowDVI popping to front, giving you a look at the resulting document.
  47.   If the compilation was interrupted (by an error), Fred will pop to front
  48.   and place the cursor at the line which holds the first error. Also, the
  49.   status line will show you a description of the problem. If you press
  50.   "C-c '" the cursor will jump to the next erroneous line.
  51.  
  52.   This mode has a few preference settings (all global and writeable):
  53.  
  54.   PasTeX_compile_dir:
  55.     What dir should PasTeX be invoked from? If empty, the file's home
  56.     directory will be used for the compilation. I use a directory called
  57.     PrimeTeX: as described above. This, however, means that the .tex/.log
  58.     and .aux files will be mixed with your (*.sty) files, so if you do not
  59.     make a copy of PrimeTeX: to RAM before starting, your PrimeTeX: dir
  60.     will pretty fast get filled with crap files. Also, if you _do_ make
  61.     a copy of PrimeTeX: to RAM you will get another problem. See P_auto_save.
  62.  
  63.   PasTeX_auto_save:
  64.     If you compile from the RAM disk, the .tex file will not automatically
  65.     be updated on disk (or where ever the file's home dir is) unless you set
  66.     this flag. It's tough loosing an hours work because all compilation has
  67.     been made in RAM, but on the other hand, it's nice not always saving the
  68.     file to disk. To compromise these two points, the auto saving is not
  69.     made until the syncronous PasTeX job has been started. In short, play it
  70.     safe! Use auto_save!
  71.  
  72.   PasTeX_port_name:
  73.     The name of the ARexx port for the PasTeX server. Included to make it
  74.     easy to support other TeX compilers with other server names.
  75.  
  76.   PasTeX_style:
  77.     Which style to use in the compilation. I use "&latex", but as I recall it
  78.     the standard PasTeX package use "&lplain". If you are tough you maybe also
  79.     want to use "&plain" (raw TeX).
  80.  
  81.   PasTeX_log_restart:
  82.     When jumping to next error with "C-c '", Fred scans the .log file for the
  83.     next error line. If this flag is set, the .log file will be scanned from
  84.     the top each time (slower, but you may revisit previous errors).
  85.  
  86.  
  87.  
  88.   Activate the preference window choosing "Customizing->Program->PasTeX"
  89.   in the menu.
  90.   The menu "PasTeX" offers "Compile" and "Next error" (described above)
  91.   and "ShowDVI" which pops ShowDVI to front (and activates it).
  92.  
  93.  
  94.  
  95.   As of version 1.4 this PasTeX interface is a major mode - consult
  96.   FMC.FPL.readme for further information. The default FMC settings are:
  97.  
  98.   pastex_mode_ext = "*tex*"
  99.     Recognize *.tex files as LaTeX files and enable PasTeX mode.
  100.  
  101.   pastex_mode_exe = "LaTeXModeInit();ME("double_mode");"
  102.     Initialize LaTeXMode when PasTeX mode gets enabled.
  103.  
  104.  
  105.  
  106.   TIPS (some of my PasTeX setup)
  107.  
  108.   This is my StartTeX DOS script (use with an icon and iconx!)
  109.  
  110.   --- 8< ---------- 8< ---------- 8< ---------- 8< ---------- 8< ----------
  111.   run showdvi NOLog on
  112.   if not exists ram:primetex
  113.   makedir ram:PrimeTeX
  114.   copy PrimeTeX: ram:PrimeTeX all quiet
  115.   assign PrimeTeX: ram:PrimeTeX
  116.   endif
  117.   resident tex:bin/latex pure
  118.   run rx tex:rexx/tex-server.rexx
  119.   FrexxEd:fred INIT tex:FrexxEd.default
  120.   rx tex:rexx/quit_tex
  121.   endcli
  122.   --- 8< ---------- 8< ---------- 8< ---------- 8< ---------- 8< ----------
  123.  
  124.  
  125.   In your "ShowDVI.config" insert the line:
  126.  
  127.   --- 8< ---------- 8< ---------- 8< ---------- 8< ---------- 8< ----------
  128.   f1   rexx:FrexxEdToFront.rexx
  129.   --- 8< ---------- 8< ---------- 8< ---------- 8< ---------- 8< ----------
  130.  
  131.   where FrexxEdToFront.rexx is a reference to the file found in the
  132.   FrexxEd/Rexx directory. Copy it to Rexx: or change the key definition
  133.   above.
  134.   Now you can press F1 to get from ShowDVI to FrexxEd.
  135.  
  136.  
  137. HISTORY (REV)
  138.   15.06.95 (6)    Renamed to PasTeX.FPL. The settings have also been renamed.
  139.         Sorry folks, but it's for the best! Check out LaTeXMode!
  140.   30.05.95 (5)    Removed two bugs reported by Volker Gûth.
  141.   02.04.95 (4)    Now a major mode.
  142.   21.03.95 (3)    All preference settings are now Global.
  143.   02.03.95 (2)    Moved the settings to Customizing->Program!
  144.   26.02.95 (1)    Added menu.
  145.         Added "ShowDVI to front" command.
  146.   07.11.94 (0)    Initial release.
  147.  
  148. BUGS
  149.   I would like to bind the shortcut keys to the menu, but since these are
  150.   global keybindings it doesn't go too well with my other Emacs like
  151.   programs (e.g. the RCS interface).
  152.  
  153. TODO
  154.   The .log file should be killed if the .tex file is killed.
  155.   
  156.   Volker Gûth:
  157.   If I use the \input or \include command and there is a error in the included
  158.   text, FrexxEd jumps to the correct line, but not in the correct text! I think
  159.   this can not be fixed so simply as the other bugs. TeXedit.rexx has the
  160.   variable "filename" with the name of the file with the error, is it possible
  161.   to use it, or does it cause great problems with the LaTeXNextError, function?    
  162.  
  163. SEE ALSO
  164.   FMC.FPL.readme
  165.   LaTeXMode.FPL.readme
  166.   Peter Straub's "Mystery" (ISBN: 0-451-16865-8)
  167.